package com.zxl.study.callback.v1;

import cn.hutool.core.util.IdUtil;

/**
 * @auther zxl
 * @create 2023-08-12 20:12
 *
 * 程序员提交代码之后就下班，像记录提交流水：recodeToday（）这种事让Github类去负责。
 *
 * 换句话说，Github类的push（）函数执行完后，Github类去调用Programmer类的recodeToday（）方法，
 * 而不是Programmer自己去调用。
 */
public class ProgrammerV1  // A类
{
    public void code(){
        //step1.写代码
        System.out.println("coding ProgrammerV1 基本标准回调");
        //step2.提交代码B.fb(A)
        new GithubV1().push(this);
        // 这里没有 step3，我们没有自己调用 recordToday()方法.
    }

    // A.fa(),回调方法
    public void recordToday(){
        System.out.println("i'm done，commit  SerialNumber:  " + IdUtil.simpleUUID());
    }
}
